package com.example.Gethome.service;

import com.example.Gethome.entity.Home;
import com.example.Gethome.repository.HomeRepository;
import com.example.Gethome.security.securityID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class HomeService {

    @Autowired
    private HomeRepository homeRepository;

    private securityID securityID;

    /*
    * 增加房屋
     */
    public void addHome(Home home) {
        homeRepository.save(home);
//        if (securityID.secureIDNumber(home.getId_card())) {
//            // 身份证认证通过
//            homeRepository.save(home);
//            return true;
//        } else {
//            return false;
//        }
    }

    /*
    * 删除房屋
     */
    public void deleteHome(Home home) {
        homeRepository.delete(home);
    }

    /*
    * 根据verifyCode以及homeName修改Home的verify属性
    * 通过verifyCode进行标注，通过homeName进行查找
     */
    public void verifyHome(String verifyCode, String homeName) {
        homeRepository.updateVerifyByHomename(verifyCode, homeName);
    }

    /*
    * 根据用户搜索的情况来列出是租房还是卖房
     */
    public List<?> showCurrentTypeHome(String homeType) {
        return homeRepository.findByHomeoutype(homeType);
    }

    /*
    * 列出未审核的房屋列表，让管理员进行审核
     */
    public List<?> checkVerifyHome() {
        return homeRepository.findByHomeVerify();
    }

    /*
    * 列出根据提交房子的用户来搜索的房子的全部信息（包含审核未通过和审核通过和未审核三种情况的房子）
     */
    public List<?> getOwnerHome(String ownerName) {
        return homeRepository.findByName(ownerName);
    }

    /*
    * 根据房子的名字（也就是人们选中的房子）来更改房子的主人（此房有主）
     */
    public void changeHomeOwner(String homeOwner, String homeName) {
        homeRepository.updateHomeownerByHomename(homeOwner, homeName);
    }

    /*
    * 根据房子的主人以及房子类型来列出所有的符合要求的房子
     */
    public List<?> checkHomeByType(String homeOwner, String homeType) {
        return homeRepository.checkHomeByHomeoutype(homeOwner, homeType);
    }

    /*
    * 根据房屋的名称来查找房屋信息
     */
    public Home getHomeByName(String homeName) {
        return homeRepository.findByHomename(homeName);
    }

    /*
    * 根据房屋名称来更新图片路径
     */
    public void updatePicByName(String picture, String homeName) {
        homeRepository.updateHomepictureByHomename(picture, homeName);
    }

}
